RustHorn: CHC-based Verification for Rust Programs

نویسندگان

چکیده

Reduction to satisfiability of constrained Horn clauses (CHCs) is a widely studied approach automated program verification. Current CHC-based methods, however, do not work very well for pointer-manipulating programs, especially those with dynamic memory allocation. This article presents novel reduction Rust programs into CHCs, which clears away pointers and states by leveraging Rust’s guarantees on permission. We formalize our simplified core prove its soundness completeness. have implemented prototype verifier subset confirmed the effectiveness method.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Verification for Legacy Programs

In the long run, programs should be written from the start with verification in mind. Programs written in such a way are likely to be much easier to verify. They will avoid hard-to-verify features, may have better designs, will be accompanied by full formal specifications, and may be annotated with verification information. However, even if programs should be written this way, not all of them w...

متن کامل

Verification Programs for Abduction

We call verification the process of finding the actual explanation of a given set of manifestations. We consider an abductive setting, in which explanations are sets of assumptions. To filter out erroneous explanations, a verification program should propose which assumptions to check. Given the abductive setting of manifestations, assumptions, and a theory relating them, we study the complexity...

متن کامل

Abstract Interpretation based Verification of Logic Programs

Interpretation based Verification of Logic Programs Marco Comini, Roberta Gori, Giorgio Levi, Paolo Volpe Dipartimento di Informatica Università di Pisa Pisa, Italy

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: ACM Transactions on Programming Languages and Systems

سال: 2021

ISSN: ['1558-4593', '0164-0925']

DOI: https://doi.org/10.1145/3462205